Skip to content

Conversation

@ypatil12
Copy link
Collaborator

Motivation:

We want deploy from scratch scripts for preprod-hoodi.

Modifications:

  • Reorganize the deploy from scratch scripts into: 1. Multichain Deployer; 2. Destination Chain Genesis: 3. Protocol Genesis
  • Create a v1.6.0-protocol-from-scratch script
  • Add a MultisigDeployerLib to dedupe all the Multisig calls we were making
  • Add a Scripts.md file that describes the available scripts

Result:

Clear deploy from scratch

@ypatil12 ypatil12 force-pushed the release/destination-genesis-scripts branch from 0bbf516 to 4c7842c Compare November 6, 2025 17:20
@ypatil12 ypatil12 force-pushed the feat/zeus-deploy-from-scratch branch from 4aaaebb to 1e9a701 Compare November 6, 2025 17:21
@ypatil12
Copy link
Collaborator Author

ypatil12 commented Nov 6, 2025

Passing deploy script for preprod hoodi:

image

Copy link
Collaborator

@nadir-akhtar nadir-akhtar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't have the time to meticulously review the protocol-from-scratch scripts directory unfortunately, but overall LGTM. Markdown was helpful to reference against.

Seems like CI is failing for a test though. Made a note of possible cause


import "./1-deployMultichainDeployer.s.sol";
import {MultisigBuilder} from "zeus-templates/templates/MultisigBuilder.sol";
import {IMultisig} from "script/releases/MultisigDeployLib.sol";
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change seems unnecessary as this import is not used.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Used when modifying and retrieving threshold


function testScript() public virtual override {
// 1. Deploy destination chain contracts
DeployMultichainDeployer.testScript();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems that, when the contracts are already deployed, the threshold is 3 but the parent test here checks for threshold = 1, causing CI to fail

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Updated to pass

// ReleaseManager is not initializable
}

// KeyRegistrar and PermissionController are not initializable
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: clean up these comments, they're a bit confusing (above we say PermissionController is initalizable)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

{
/// core/

// Permission controller has no constructor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: put this in the permissions block

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ypatil12 ypatil12 merged commit c3448b3 into release/destination-genesis-scripts Nov 7, 2025
24 of 45 checks passed
@ypatil12 ypatil12 deleted the feat/zeus-deploy-from-scratch branch November 7, 2025 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants